Problem
【SCOI2014】方伯伯运椰子
Description
Input
第一行包含二个整数,。
接下来行代表条边,表示这个交通网络。
每行六个整数,表示。
接下来一行包含一条边,表示连接起点的边。
Output
Sample Input
1 | 5 10 |
Sample Output
1 | 103.00 |
HINT
,,,,,。
标签:费用流
Solution
妙不可言的费用流。
首先肯定需要二分答案,设当前答案是,那么第条边压缩流量花费,扩容流量花费。
对于二分后的,发现修改的同时维护流量守恒比较麻烦,不妨考虑先将所有流量都退掉,随后再逐一把不用退的流量增广回来,这样每次增广都可以保证流量守恒。那么初始费用为。
建模:
对于原图的第条边:
- ,流量,费用
- 若,则,流量,费用
这样跑最小费用最大流后判断是否成立即可判断是否有。
正确性:
由于跑费用流,会优先增广费用小的边,而,因此第一类边比第二类边小,一定会先走第一类边补到原先流量后再继续走第二类边扩容。
本文参考的题解。
Code
1 |
|